package com.zatech.cgnci.project.service;

import cn.hutool.poi.excel.ExcelWriter;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zatech.cgnci.project.dto.CgnciUnearnedPremiumReserveLedgerDTO;
import com.zatech.cgnci.project.dto.ProvisionRegisterExtractDTO;
import com.zatech.cgnci.project.dto.ProvisionRegisterQueryDTO;
import com.zatech.cgnci.project.entity.CgnciProvisionRegisterDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zatech.cgnci.project.vo.CgnciProvisionRegisterVO;

/**
 * <p>
 * 准备金台账管理表 服务类
 * </p>
 *
 * @author Generator
 * @since 2025-01-22
 */
public interface CgnciProvisionRegisterService extends IService<CgnciProvisionRegisterDO> {


    /**
     * 分页查询台账数据列表
     * @param queryDTO
     * @return
     */
    IPage<CgnciProvisionRegisterVO>  page(ProvisionRegisterQueryDTO queryDTO);

    /**
     * 未到期保费准备金、未绝赔款准备金数据提取
     * @param extractDTO
     */
    void extract(ProvisionRegisterExtractDTO extractDTO);

    /**
     * 提取数据下载文件
     * @param registerId
     * @return
     */
    ExcelWriter export(Long registerId,String reserveTypeCode);


    ExcelWriter OutstandingClaimsReserveLedger(Long registerId, CgnciUnearnedPremiumReserveLedgerDTO queryDTO);

    ExcelWriter UnearnedPremiumReserveLedger(Long registerId,CgnciUnearnedPremiumReserveLedgerDTO queryDTO);
}
